package com.jbpm.websercvice.manager;

import java.util.List;

import com.emms.common.bean.PageBean;
import com.emms.common.exception.FrameworkException;
import com.emms.controller.baseinfo.vo.CodeInfoBean;
import com.jbpm.extjsvo.JSONTreeNode;
import com.jbpm.websercvice.vo.ProjectInfoWfBean;
import com.jbpm.websercvice.vo.SectionWfBean;
import com.jbpm.websercvice.vo.SysRoleBean;
import com.jbpm.websercvice.vo.SysuserBean;
import com.jbpm.websercvice.vo.WFSystemBean;
import com.jbpm.websercvice.vo.WfModuleBean;

public interface VCurrencyService {

	/**
	 * 委托角色选择数据获取
	 * @param model
	 * @param sysRoleBean
	 * @param pb
	 * @return
	 * @throws FrameworkException
	 */
	PageBean getRoleByParam(SysRoleBean sysRoleBean, PageBean pb) throws FrameworkException;

	/**
	 * 委托用户选择数据获取
	 * 
	 * @param model
	 * @param sysRoleBean
	 * @param pb
	 * @return
	 * @throws FrameworkException
	 */
	PageBean getUserByParam(SysuserBean sysuserBean, PageBean pb) throws FrameworkException;

	/**
	 * 所属系统数据获取
	 * @param model
	 * @param wFSystemBean
	 * @param pb
	 * @return
	 * @throws FrameworkException
	 */
	PageBean getSystemByParam(WFSystemBean wFSystemBean, PageBean pb) throws FrameworkException;

	/**
	 * 所属项目数据获取
	 * 
	 * @param model
	 * @param projectInfoWfBean
	 * @param pb
	 * @return
	 * @throws FrameworkException
	 */
	PageBean getProjectByParam(ProjectInfoWfBean vb, PageBean pb) throws FrameworkException;

	/**
	 * 所属标段数据获取
	 * 
	 * @param model
	 * @param projectInfoWfBean
	 * @param pb
	 * @return
	 * @throws FrameworkException
	 */
	PageBean getSectionByParam(SectionWfBean sectionWfBean, PageBean pb) throws FrameworkException;

	/**
	 * 所属业务模块数据获取
	 * 
	 * @param model
	 * @param wFModuleBean
	 * @param pb
	 * @return
	 * @throws FrameworkException
	 */
	PageBean getModuleByParam(WfModuleBean wfModuleBean, PageBean pb) throws FrameworkException;

	/**
	 * 获取所以组织类型信息
	 * @param cb
	 * @param pb
	 * @return
	 * @throws FrameworkException
	 */
	List<Object> getLoadOrgTreeIndex(CodeInfoBean cb, PageBean pb) throws FrameworkException;

	/**
	 * 获取子节点信息
	 * @param node
	 * @param id
	 * @return
	 * @throws FrameworkException 
	 */
	JSONTreeNode getLoadOrgBuildTreeModel(JSONTreeNode node, String id) throws FrameworkException;
	
}
